Region Activation for Touch Sensitive Surface

ABSTRACT

One or more regions of a touch sensitive surface can be activated individually by a user. A region defines an active input area for processing touch input events. Any touch event associated with a beginning touch event that is detected in the active area is processed for display. Any touch input event detected outside the active region that is not associated with the beginning touch event is excluded from the processing. Once a writing gesture is started in the active region, the writing gesture can extend outside of the active region so long as the writing gesture is associated with the beginning touch event.

TECHNICAL FIELD

This disclosure relates generally to devices having touch sensitivesurfaces.

BACKGROUND

Modern mobile devices (e.g., electronic tablets) can run applicationsthat allow a user to capture handwritten notes using a touch sensitivesurface. While handwriting on the touch sensitive surface, a typicaluser may rest their palm or side of their hand on the touch sensitivesurface for support, causing the device to register a touch input. Toavoid such inadvertent touch input, the user can elevate their handabove the touch surface when writing. This workaround can be awkward andtiring to the user.

SUMMARY

One or more regions of a touch sensitive surface can be activatedindividually by a user. A region defines an active input area forprocessing touch input events. Any touch event associated with abeginning touch event that is detected in the active area is processedfor display. Any touch input event detected outside the active regionthat is not associated with the beginning touch event is excluded fromthe processing. In some implementations, a region can be visuallydelineated by horizontal rule lines of a virtual notebook page. Aselector/indicator can be displayed at the left or right end of theregion for activating the corresponding region. Once a writing gestureis started in the active region, the writing gesture can extend outsideof the active region so long as the writing gesture is made withoutinterruption. When a region is activated by a user touching theselector/indicator, the selector/indicator can be visually augmented toindicate that its corresponding region is active. When the writinggesture is completed by the user, the writing gesture displayed in theactive region can be captured and stored for use with otherapplications.

Particular implementations of region activation for a touch sensitivesurface, provides one or more of the following advantages. A user canindependently activate one or more regions of a touch sensitive surfaceto avoid registering inadvertent touch inputs outside the active region.The active regions can be captured and stored for use with otherapplications.

The details of one or more disclosed implementations are set forth inthe accompanying drawings and the description below. Other features,aspects, and advantages will become apparent from the description, thedrawings and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a touch sensitive surface with individuallyselectable active regions.

FIG. 2 illustrates the touch sensitive surface with writing extendingoutside a selected active region.

FIG. 3 is a flow diagram of an exemplary process for activating andprocessing for display a region on a touch sensitive surface.

FIG. 4 is a block diagram of an exemplary device architecture thatimplements the features and processes described with reference to FIGS.1-3.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION Exemplary Active Region for Touch Sensitive Surface

FIG. 1 illustrates an exemplary touch sensitive surface 100 withindividually selectable active regions 102. In some implementations,touch sensitive surface 100 can be a virtual notepad with pages havinghorizontal rule lines to provide visual guides for handwritten notes. Inthe example shown, region 102 is the writing area above rule line 105. Auser has made a handwritten note (“Sample Note”) in region 102 usingtheir finger, a stylus or other suitable writing instrument.

In the example shown, a user interface element 104 is displayed on theleft end of each region 102. User interface element 104 is aselector/indicator that can be touched by a user to activate thecorresponding region 102. For example, the user can touch user interfaceelement 104 to activate corresponding region 102. Activating a regionmeans that touch events (e.g., writing gestures) initiated in region 102can be detected and processed for display by a processor of the device,resulting in an immediate, real-time display of the user's handwriting.That is, touch events (e.g., writing gestures) are detected andprocessed for display in real-time to create the appearance that theuser is handwriting on touch sensitive surface 100.

In general, touches started outside of active region 102 are ignored,while touches initiated within active region 102 are used to start acurrently active path. The continuation of a touch started within activeregion 102 (e.g., a writing gesture) causes curves to be added to thecurrently active path using, for example, a cubic Bézier path generatoras described in co-pending U.S. patent application Ser. No. 13/084,355,for “Handwriting Capture Techniques,” filed even date herewith, AttorneyDocket No. 18962-0413001/P11005US1. At any given time, only one activepath is recognized by the device as a continuation of a touch gesture.

In some implementations, touch screen driver software translates touchsignals from hardware (e.g., a capacitive touch screen) into touchevents, which can be aggregated into touch gestures using a touch inputmodel. The touch events or gestures can be provided to an operatingsystem or other applications through an Application ProgrammingInterface (API) where the touch events can be further processed.

Generally, user interface element 104 can be any size or shape andlocated anywhere on touch sensitive surface 100. In the example shown,user interface element 104 is a circle that is visually augmented (e.g.,filled with color) when selected to indicate its selection and theactive status of its corresponding active region 102. Visuallyaugmenting user interface element 104 can include, but is not limited tochanging the color, shape or size of the element, animating the element,highlighting the user interface element or its background, or the like.In some implementations, selection of region 102 can be indicated byaudio or force feedback (e.g., a vibration) in addition or in lieu ofvisual augmentation.

In some implementations, user interface element 104 can be displayed atleft or right ends of each region 102 to facilitate selection by left orright-handed users. A settings menu or similar input mechanism can allowusers to select the location of user interface element 104 on touchsensitive surface 100. In some implementations, user interface element104 can be a hardware button.

When the user is finished writing in active region 102, the user canselect the “Accept” button 106 to capture the handwritten note in activeregion 102 and stored in a digital image format (e.g., .png). Only thecontent drawn within active region 102 is captured. Once captured andstored, the content can be used with other applications. Uponacceptance, active region 102 can be deactivated automatically. A“Clear” button 108 can be used to clear the entire active region 102 ofits contents.

FIG. 2 illustrates the touch sensitive surface with a writing gestureextending outside the selected active region. In the example shown, theuser activated region 202 using selector/indicator 204. The user theninitiated a beginning touch event in active region 202. For example, theuser placed their finger or stylus on touch screen 100 in active region202 to begin a writing gesture. After the beginning touch event, theuser extended the writing gesture outside active region 202. Theportions of the writing gesture extending outside active region 202 wereprocessed and displayed since the writing gesture began inside theactive region and the extended portions are part of the writing gesture,i.e., associated with the beginning touch event. When the user acceptsthe writing (e.g., by selecting the “Accept” button), the contents ofactive region 202 are captured and stored for use with otherapplications. In this example, the portions of the letters “LOC”extending outside active region 202 are truncated and thus excluded fromthe screen capture.

Exemplary Process Flow

FIG. 3 is a flow diagram of an exemplary process 300 for activating aregion on a touch sensitive surface. Process 300 can be implemented bydevice architecture 400, as described in reference to FIG. 4.

In some implementations, process 300 can begin by receiving inputselecting region(s) of touch sensitive surface for activation (302). Insome implementations, the touch sensitive surface can be a touchsensitive display of a device (e.g., computer, mobile phone, electronictablet). A region can be selected by touching a selector/indicatorcorresponding to the region, as described in reference to FIGS. 1 and 2.

The user interface element can be visually augmented to indicateselection of its corresponding region. Other feedback is also possible.For example, audio or force feedback (e.g., a vibration) can be used toindicate selection of a region. A region can be any portion of a touchsensitive surface and have any shape or size. In some implementations, aregion can be the writing area between two horizontal rule lines of avirtual notebook page, as shown in FIGS. 1-2. Generally, the userinterface element for selecting a corresponding region can be locatedanywhere on the touch sensitive surface and can be any size or shape. Inthe notebook example of FIGS. 1-2, a user interface element is displayedat the left end of each region to facilitate easy selection by aright-handed user.

Process 300 can continue by activating the selected region(s) (304).Once activated, any touch input in the active region will be detectedand processed by the device for display.

Process 300 can continue by detecting a beginning touch event in theactive region (306). A beginning touch event can occur when the userfirst touches the active region with a finger, stylus or other writinginstrument.

Process 300 continues detecting and processing additional touch eventsin active region(s) associated with the beginning touch event (308). Theprocessing excludes additional touch events detected outside the activeregion(s) that are not associated with the beginning touch event in theactive region(s).

Process 310 continues by receiving input accepting the processed touchevents (310), and capturing and storing the processed touch events(312). A user can accept touch events by selecting a virtual button orproviding other detectable input. Upon acceptance, the content in theactive region can be captured into a digital image and stored (e.g.,stored in a container object) for use by other applications.

Exemplary Device Architecture

FIG. 4 is a block diagram illustrating exemplary device architectureimplementing features and operations described in reference to FIGS.1-5. Device 400 can be any device capable of capturing handwriting on atouch sensitive surface, including but not limited to smart phones andelectronic tablets. Device 400 can include memory interface 402, one ormore data processors, image processors or central processing units 404,and peripherals interface 406. Memory interface 402, processor(s) 404 orperipherals interface 406 can be separate components or can beintegrated in one or more integrated circuits. The various componentscan be coupled by one or more communication buses or signal lines.

Sensors, devices, and subsystems can be coupled to peripherals interface406 to facilitate multiple functionalities. For example, motion sensor410, light sensor 412, and proximity sensor 414 can be coupled toperipherals interface 406 to facilitate orientation, lighting, andproximity functions of the mobile device. For example, in someimplementations, light sensor 412 can be utilized to facilitateadjusting the brightness of touch screen 446. In some implementations,motion sensor 410 (e.g., an accelerometer, gyros) can be utilized todetect movement and orientation of the device 400. Accordingly, displayobjects or media can be presented according to a detected orientation,e.g., portrait or landscape.

Other sensors can also be connected to peripherals interface 406, suchas a temperature sensor, a biometric sensor, or other sensing device, tofacilitate related functionalities.

Location processor 415 (e.g., GPS receiver) can be connected toperipherals interface 406 to provide geo-positioning. Electronicmagnetometer 416 (e.g., an integrated circuit chip) can also beconnected to peripherals interface 406 to provide data that can be usedto determine the direction of magnetic North. Thus, electronicmagnetometer 416 can be used as an electronic compass.

Camera subsystem 420 and an optical sensor 422, e.g., a charged coupleddevice (CCD) or a complementary metal-oxide semiconductor (CMOS) opticalsensor, can be utilized to facilitate camera functions, such asrecording photographs and video clips.

Communication functions can be facilitated through one or morecommunication subsystems 424. Communication subsystem(s) 424 can includeone or more wireless communication subsystems 424. Wirelesscommunication subsystems can include radio frequency receivers andtransmitters and/or optical (e.g., infrared) receivers and transmitters.Wired communication system can include a port device, e.g., a UniversalSerial Bus (USB) port or some other wired port connection that can beused to establish a wired connection to other computing devices, such asother communication devices, network access devices, a personalcomputer, a printer, a display screen, or other processing devicescapable of receiving or transmitting data. The specific design andimplementation of the communication subsystem 424 can depend on thecommunication network(s) or medium(s) over which device 400 is intendedto operate. For example, a mobile device can include communicationsubsystems 424 designed to operate over a GSM network, a GPRS network,an EDGE network, a WiFi or WiMax network, and a Bluetooth network. Inparticular, the wireless communication subsystems 424 can include Forexample, device 400 may include wireless communication subsystemsdesigned to operate over a global system for mobile communications (GSM)network, a GPRS network, an enhanced data GSM environment (EDGE)network, 802. x communication networks (e.g., WiFi, WiMax, or 3Gnetworks), code division multiple access (CDMA) networks, and aBluetooth™ network. Communication subsystems 424 may include hostingprotocols such that the mobile device 400 may be configured as a basestation for other wireless devices. As another example, thecommunication subsystems can allow the device to synchronize with a hostdevice using one or more protocols, such as, for example, the TCP/IPprotocol, HTTP protocol, UDP protocol, and any other known protocol.

Audio subsystem 426 can be coupled to a speaker 428 and one or moremicrophones 430 to facilitate voice-enabled functions, such as voicerecognition, voice replication, digital recording, and telephonyfunctions.

I/O subsystem 440 can include touch screen controller 442 and/or otherinput controller(s) 444. Touch-screen controller 442 can be coupled to atouch screen 446 or pad. Touch screen 446 and touch screen controller442 can, for example, detect contact and movement or break thereof usingany of a number of touch sensitivity technologies, including but notlimited to capacitive, resistive, infrared, and surface acoustic wavetechnologies, as well as other proximity sensor arrays or other elementsfor determining one or more points of contact with touch screen 446.

Other input controller(s) 444 can be coupled to other input/controldevices 448, such as one or more buttons, rocker switches, thumb-wheel,infrared port, USB port, and/or a pointer device such as a stylus. Theone or more buttons (not shown) can include an up/down button for volumecontrol of speaker 428 and/or microphone 430.

In one implementation, a pressing of the button for a first duration maydisengage a lock of the touch screen 446; and a pressing of the buttonfor a second duration that is longer than the first duration may turnpower to mobile device 400 on or off. The user may be able to customizea functionality of one or more of the buttons. The touch screen 446 canalso be used to implement virtual or soft buttons and/or a keyboard.

In some implementations, device 110 can present recorded audio and/orvideo files, such as MP3, AAC, and MPEG files. In some implementations,mobile device 110 can include the functionality of an MP3 player and mayinclude a pin connector for tethering to other devices. Otherinput/output and control devices can be used.

Memory interface 402 can be coupled to memory 450. Memory 450 caninclude high-speed random access memory or non-volatile memory, such asone or more magnetic disk storage devices, one or more optical storagedevices, or flash memory (e.g., NAND, NOR). Memory 450 can storeoperating system 452, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS,or an embedded operating system such as VxWorks. Operating system 452may include instructions for handling basic system services and forperforming hardware dependent tasks. In some implementations, operatingsystem 452 can include a kernel (e.g., UNIX kernel).

Memory 450 may also store communication instructions 454 to facilitatecommunicating with one or more additional devices, one or more computersand/or one or more servers. Communication instructions 454 can also beused to select an operational mode or communication medium for use bythe device, based on a geographic location (obtained by theGPS/Navigation instructions 468) of the device. Memory 450 may includegraphical user interface instructions 456 to facilitate graphic userinterface processing; sensor processing instructions 458 to facilitatesensor-related processing and functions; phone instructions 460 tofacilitate phone-related processes and functions; electronic messaginginstructions 442 to facilitate electronic-messaging related processesand functions; web browsing instructions 464 to facilitate webbrowsing-related processes and functions; media processing instructions466 to facilitate media processing-related processes and functions;GPS/Navigation instructions 468 to facilitate GPS and navigation-relatedprocesses and instructions; camera instructions 470 to facilitatecamera-related processes and functions; region activation instructions472 for the processes and features described with reference to FIGS. 1-3Region Ac; and application instructions 474. The memory 450 may alsostore other software instructions 476 for facilitating other processes,features and applications.

Each of the above identified instructions and applications cancorrespond to a set of instructions for performing one or more functionsdescribed above. These instructions need not be implemented as separatesoftware programs, procedures, or modules. Memory 450 can includeadditional instructions or fewer instructions. Furthermore, variousfunctions of the mobile device may be implemented in hardware and/or insoftware, including in one or more signal processing and/or applicationspecific integrated circuits.

The described features can be implemented advantageously in one or morecomputer programs that are executable on a programmable system includingat least one programmable processor coupled to receive data andinstructions from, and to transmit data and instructions to, a datastorage system, at least one input device, and at least one outputdevice. A computer program is a set of instructions that can be used,directly or indirectly, in a computer to perform a certain activity orbring about a certain result. A computer program can be written in anyform of programming language (e.g., Objective-C, Java), includingcompiled or interpreted languages, and it can be deployed in any form,including as a stand-alone program or as a module, component,subroutine, or other unit suitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors orcores, of any kind of computer. Generally, a processor will receiveinstructions and data from a read-only memory or a random access memoryor both. The essential elements of a computer are a processor forexecuting instructions and one or more memories for storing instructionsand data. Generally, a computer will also include, or be operativelycoupled to, communicate with, one or more mass storage devices forstoring data files; such devices include magnetic disks, such asinternal hard disks and removable disks; magneto-optical disks; andoptical disks.

Storage devices suitable for tangibly embodying computer programinstructions and data include all forms of non-volatile memory,including by way of semiconductor memory devices, such as EPROM, EEPROM,and flash memory devices; magnetic disks such as internal hard disks andremovable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.The processor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a player, the features can beimplemented on a computer having a display device, such as a CRT(cathode ray tube) or LCD (liquid crystal display) monitor fordisplaying information to the player. The computer can also have akeyboard and a pointing device such as a game controller, mouse or atrackball by which the player can provide input to the computer.

The features can be implemented in a computer system that includes aback-end component, such as a data server, that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system can be connected by any form ormedium of digital data communication such as a communication network.Some examples of communication networks include LAN, WAN and thecomputers and networks forming the Internet.

The computer system can include clients and servers. A client and serverare generally remote from each other and typically interact through anetwork. The relationship of client and server arises by virtue ofcomputer programs running on the respective computers and having aclient-server relationship to each other.

One or more features or steps of the disclosed embodiments can beimplemented using an API. An API can define on or more parameters thatare passed between a calling application and other software code (e.g.,an operating system, library routine, function) that provides a service,that provides data, or that performs an operation or a computation. TheAPI can be implemented as one or more calls in program code that send orreceive one or more parameters through a parameter list or otherstructure based on a call convention defined in an API specificationdocument. A parameter can be a constant, a key, a data structure, anobject, an object class, a variable, a data type, a pointer, an array, alist, or another call. API calls and parameters can be implemented inany programming language. The programming language can define thevocabulary and calling convention that a programmer will employ toaccess functions supporting the API. In some implementations, an APIcall can report to an application the capabilities of a device runningthe application, such as input capability, output capability, processingcapability, power capability, communications capability, etc.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made. For example, othersteps may be provided, or steps may be eliminated, from the describedflows, and other components may be added to, or removed from, thedescribed systems. Accordingly, other implementations are within thescope of the following claims.

1. A method comprising: receiving input selecting a region of a touchsensitive surface for activation; activating the selected region;detecting a beginning touch event in the active region; and responsiveto detecting the beginning touch event, detecting and processingadditional touch events in the active region that are associated withthe beginning touch event, the processing excluding additional touchevents detected outside the active region that are not associated withthe beginning touch event in the active region, where the method isperformed by one or more computer processors.
 2. The method of claim 1,further comprising: displaying results of the processing of theadditional touch events associated with the beginning touch event. 3.The method of claim 1, receiving input selecting a region, furthercomprises: detecting input selecting a use interface element displayedon the touch sensitive surface, the user interface element associatedwith a region of the touch sensitive surface.
 4. The method of claim 2,where the user interface element is displayed proximate to the region.5. The method of claim 2, where the user interface element is visuallyaugmented to indicate its selection.
 6. The method of claim 1, furthercomprising: capturing the touch events in the active region; and storingthe captured touch events.
 7. A system comprising: a touch sensitivesurface; one or more processors configured for performing operationscomprising: receiving input selecting a region of a touch sensitivesurface for activation; activating the selected region; detecting abeginning touch event in the active region; and responsive to detectingthe beginning touch event, detecting and processing additional touchevents in the active region that are associated with the beginning touchevent, the processing excluding additional touch events detected outsidethe active region that are not associated with the beginning touch eventin the active region.
 8. The system of claim 7, where the one or moreprocessors are configured for performing an operation comprising:displaying results of the processing of the additional touch eventsassociated with the beginning touch event.
 9. The system of claim 7,where the one or more processors are configured for performing anoperation comprising: detecting input selecting a use interface elementdisplayed on the touch sensitive surface, the user interface elementassociated with a region of the touch sensitive surface.
 10. The systemof claim 9, where the user interface element is displayed proximate tothe region.
 11. The system of claim 9, where the user interface elementis visually augmented to indicate its selection.
 12. The system of claim7, where the one or more processors are configured for performingoperations comprising: capturing the touch events in the active region;and storing the captured touch events.
 13. A computer-readable mediumhaving instructions stored thereon, which, when executed by one or moreprocessors, causes the one or more processors to perform operationscomprising: receiving input selecting a region of a touch sensitivesurface for activation; activating the selected region; detecting abeginning touch event in the active region; and responsive to detectingthe beginning touch event, detecting and processing additional touchevents in the active region that are associated with the beginning touchevent, the processing excluding additional touch events detected outsidethe active region that are not associated with the beginning touch eventin the active region, where the method is performed by one or morecomputer processors.
 14. The computer-readable medium of claim 13,further comprising: displaying results of the processing of theadditional touch events associated with the beginning touch event. 15.The computer-readable medium of claim 13, receiving input selecting aregion, further comprises: detecting input selecting a use interfaceelement displayed on the touch sensitive surface, the user interfaceelement associated with a region of the touch sensitive surface.
 16. Thecomputer-readable medium of claim 14, where the user interface elementis displayed proximate to the region.
 17. The computer-readable mediumof claim 14, where the user interface element is visually augmented toindicate its selection.
 18. The computer-readable medium of claim 13,further comprising: capturing the touch events in the active region; andstoring the captured touch events.